package com.ruoyi.health.report.domain;


import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.web.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.List;
import java.util.Date;

/**
 * 健康指标配置表对象 health_report_statistics
 *
 * @author lgq
 * @date 2025-9-11
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class HealthReportStatistics extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 报告ID */
    private Long id;

    /** 客户ID */
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long customerId;

    /** 报告类型(daily/weekly/monthly) */
    private String reportType;

    /** 报告日期 */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date reportDate;

    /** 报告周期(如:2023-10-01/2023-W42/2023-10) */
    private String reportPeriod;

    /** 健康评分(0-100) */
    private Integer healthScore;

    /** 健康评分文本 */
    private String healthScoreText;

    /** 健康评分描述 */
    private String healthScoreDesc;

    private String status;
    /** 健康指标数据列表 */
    private List<HealthMetricData> metricDataList;

    /** 健康风险列表 */
    private List<HealthRisk> riskList;

    /** 健康建议列表 */
    private List<HealthSuggestion> suggestionList;
}
